雖然產生網頁畫面也是一個重要的功能,不過對最近的後端開發來說,更多的開發內容可能是透過 API 傳遞訊息給前端或者其他服務。
今天我們就來談談怎麼用 Ktor 處理 JSON 格式的回傳。
我們可以看看專案裡面 jackson 的安裝範例
install(ContentNegotiation) {
jackson {
enable(SerializationFeature.INDENT_OUTPUT)
}
}
這個部分幫我們安裝了一個 ContentNegotiation 的套件:jackson
import com.fasterxml.jackson.databind.*
import io.ktor.jackson.*
在 build.gradle 裡面可以看到,jackson 是利用 gradle 安裝進專案裡面的:
implementation "io.ktor:ktor-jackson:$ktor_version"
然後,我們看到下面的範例路徑 /json/jackson
get("/json/jackson") {
call.respond(mapOf("hello" to "world"))
}
要看這個範例路徑,我們像之前一樣,直接連到 http://127.0.0.1:8080/json/jackson 就可以看到了:
{
hello: "world"
}
這裡的 mapOf
是 Kotlin 的函式,可以用來建立一個唯讀的 map。在這裡我們用來產生 json 要回傳內容的結構。